Eyewear device input mechanism

ABSTRACT

An electronics-enabled eyewear device provides a primary command channel and a secondary command channel for receiving user input during untethered wear, one of the command channels providing for tap input detected by motion sensor(s) incorporated in a body of the eyewear device. A predefined tap sequence or pattern can be applied to frame of the device to trigger as device function. In one example, a double tap of the device&#39;s frame causes charge level display indicating a battery charge level.

CLAIM OF PRIORITY

This application is a continuation of U.S. patent application Ser. No.15/717,663, filed on Sep. 27, 2017, which claims the benefit of priorityto U.S. Provisional Application Ser. No. 62/400,241, filed on Sep. 27,2016, each of which is hereby incorporated by reference herein in theirentireties.

BACKGROUND

Electronics-enabled eyewear devices, such as so-called smart glasses,are often configured for operation with limited or no graphical userinterfaces. This applies particularly to untethered wear. Owing to spaceand weight limitations, control and feedback mechanisms are at apremium.

BRIEF DESCRIPTION OF THE DRAWINGS

Various ones of the appended drawings illustrate merely exampleembodiments of the present disclosure and should not be considered aslimiting its scope. In the drawings:

FIG. 1 is a three-dimensional view of a camera-enabled eyewear device inthe form of a pair of smart glasses, according to an example embodiment.

FIGS. 2A-2C are schematic views of a series of display modes of an LEDring mode indicator forming part of smart glasses corresponding to theexample embodiment of FIG. 1. In particular:

FIG. 2A illustrates a video capture mode display;

FIG. 2B illustrates a photo capture mode display; and

FIG. 2C illustrates a battery charge level display.

FIG. 3 is a schematic diagram of an eyewear device according to anexample embodiment.

FIG. 4A is a schematic flowchart of a method of operating acamera-enabled eyewear device, according to an example embodiment.

FIG. 4B is a schematic flowchart of a method of processing the motiondata captured by one or more accelerometers incorporated in an eyeweardevice according to the example embodiment of FIG. 1, to identify a usercommand inputted via a tap command channel.

FIG. 5 is a block diagram illustrating an example of a softwarearchitecture that may be installed on a machine, according to someexample embodiments.

FIG. 6 illustrates a diagrammatic representation of a machine in theform of a computer system within which a set of instructions may beexecuted for causing the machine to perform any one or more of themethodologies discussed herein, according to an example embodiment.

DESCRIPTION

The description that follows discusses illustrative embodiments of thedisclosure. In the following description, for the purposes ofexplanation, numerous specific details are set forth in order to providean understanding of various embodiments of the disclosed subject matter.It will be evident, however, to those skilled in the art, thatembodiments of the disclosed subject matter may be practiced withoutthese specific details. In general, well-known instruction instances,protocols, structures, and techniques are not necessarily shown indetail.

One of the disclosure comprises provision of a plurality of parallelcommand channels for controlling operation of an electronics-enabledeyewear device during untethered use, at least one of the commandchannels providing for input by tapping the eyewear device. This aspectof the disclosure in some embodiments provides an eyewear devicecomprising:

an eyewear body configured for wearing by users such as the support oneor more optical elements (e.g., optical or sunglass lenses) held by thebody within view of the user;

onboard electronics incorporated in the eyewear body;

a primary input mechanism incorporated in the eyewear body andconfigured to provide a primary command channel to receive user inputsfor controlling one or more functionalities of the onboard electronicsduring untethered wear of the eyewear device, and

a secondary input mechanism incorporated in the eyewear body andconfigured to provide a secondary command channel to receive user inputsfor controlling one or more functionalities of the onboard electronicsduring untethered wear thereof, the secondary command channel using adifferent mode of user input than the primary command channel,

wherein one of the primary and secondary input mechanisms is a tap inputmechanism configured to receive tap input, the tap input mechanismcomprising a motion sensor incorporated in the eyewear body.

Note that designation of the respective communications channel asprimary and secondary does not necessarily mean that the primarycommunications channel is of greater importance, has a greater varietyof available user commands, or control more important device functionsthan the secondary command channel, although this is in some embodimentsthe case, as will be seen from the description that follows.

The motion sensor may comprise one or more accelerometers, in aparticular example embodiment comprising an array of accelerometersconfigured to detect multi-directional acceleration of the eyewear body.The tap input mechanism can thus in some embodiments provide for anaccelerometric command channel. In some embodiments, the eyewear bodycomprises an eyewear frame holding the one or more optical elements, anda pair of temples displaceably mounted at opposite lateral ends of theframe for supporting the frame during wear, the accelerometers beinghoused in the frame.

The tap input mechanism may comprise a motion data processor comprisingcircuitry configured to process motion data captured by the motionsensor to identify from the motion data a tap command communicated fromthe user to the eyewear device by imparting tap motion to the eyewearbody. The circuitry of the motion data processor may some embodiments beprovided by a computer processor executing machine-readableinstructions. In other embodiments, the circuitry of the motion dataprocessor may be provided by permanently configured circuitry, such asan application specific integrated circuit. The motion data processor isin some embodiments configured to distinguish between tap commands andincidental motion reflected in the motion data based on predefinedidentification criteria. This is to avoid accidental registering of auser command due to motion of the eyewear device during use, without anyuser input actually having been provided.

The identification criteria define may define a predefined tap sequenceto register a corresponding user command. In one example embodiment, thepredefined tap sequence comprises a double-tap command. The motion dataprocessor is in some such embodiments configured to identify occurrenceof the double-tap command represented in the motion data by operationscomprising: identifying two sequential tap events; determining aninterval between the two tap events; and registering the two tap eventsas a double-tap command conditional upon the interval being smaller thana predefined threshold period.

It will be appreciated that a number of tap sequence different from orin addition to a double-tap may in some embodiments be provided totrigger corresponding commands. The identification criteria may in someembodiments define a plurality of different tap sequences correspondingto a plurality of different user commands. In one embodiment, forexample, a double tap causes display of a charge level indication (aswill be discussed below), while a triple-tap input can be used tocontrol a camera function of the device, e.g., to trigger video capture,change camera mode, or the like.

In some embodiments, both the primary and the secondary command channelsare manual command channels in which user inputs are imparted by manualinteraction with the eyewear body. This is to say that the commandchannel other than the tap command channel is operated by manual userinteraction with the eyewear device, the tap input channel beingconsidered a manual input channel by virtue of the fact that tap inputsare expected predominantly to be applied manually. In some embodiments,the primary input channel is provided by a button input mechanismcomprising a button mounted on the eyewear body for manual useroperation.

In some embodiments, the secondary command channel, provided by the tapmechanism, provides fewer user commands than the primary commandchannel. In one embodiment, the secondary input mechanism provides forrecognition and execution of no more than a single user command. In suchan embodiment, the single command of the secondary command channelprovided by the tap input mechanism triggers display of a charge levelindication via a visual indicator incorporated in the eyewear body, thecharge level indication showing a level of charge of an onboard batteryof the eyewear device. In some such embodiments, the single user, andprovided by the tap mechanism is a toggle command, switching a devicefunction on or off depending on the current mode of the function. Thetoggle command in some embodiments serves to toggle charge levelindication via the visual indicator. Note that such a toggle command isconsidered a single command as used herein, even though provision of thecommand in different instances can trigger charge level display (if nodisplay is current), or cessation of charge level display (if display iscurrent).

In some embodiments, the visual indicator comprises a series of lightemitters mounted on an exterior surface of the eyewear body, the chargelevel being indicated by illuminating a proportion of the series oflight emitters corresponding broadly to the level of battery charge. Inone embodiment, the visual indicator includes a ring of light emittingdiodes (LEDs) arranged peripherally around a camera lens or a cameraanalog formation provided by the eyewear body. With camera analog ismeant a formation on the eyewear frame that has the external shape andappearance of a camera lens, without in fact having an associated cameradevice. As will be described in greater detail in the description thatfollows, the indicator may in some embodiments provide display modescorresponding to further operational modes of the camera and/or theeyewear device, including but not limited to respective modes forindicating: photo capture, battery charge level, device pairing status,and system events (e.g., system crashes).

Another aspect of the disclosure provides a method comprising:

during wear of an eyewear device by a user, receiving user input via aprimary input mechanism incorporated in an eyewear body of the eyeweardevice to provide a primary command channel; and

during wear of the eyewear device, receiving user input via a secondaryinput mechanism incorporated in the eyewear body to provide a secondarycommand channel, the secondary command channel using a different mode ofuser input than the primary command channel, wherein one of the primaryand secondary input mechanisms is a tap input mechanism configured toreceive tap input, the tap input mechanism comprising a motion sensorincorporated in the eyewear body.

Description of Example Embodiment

FIG. 1 shows a front perspective view of an eyewear device in the formof a pair of smart glasses 100 according to one example embodiment. Theglasses 100 include a body 103 comprising a front piece or frame 106 anda pair of temples 109 connected to the frame 106 for supporting theframe 106 in position on a user's face when the glasses 100 are worn.The frame 106 can be made from any suitable material such as plastics ormetal, including any suitable shape memory alloy.

The glasses 100 include a pair of optical elements in the form of a pairof lenses 112 held by corresponding optical element holders in the formof a pair of rims 115 forming part of the frame 106. The rims 115 areconnected by a bridge 118. In other embodiments, of one or both of theoptical elements can be a display (for example providing a virtualreality display), a display assembly, or a lens and display combination(e.g., to provide an augmented reality display or information overlayover an ambient view).

In this description, directional terms such as front, back, forwards,rearwards, outwards and inwards are to be understood with reference to adirection of view of a user when the glasses 100 are worn. Thus, theframe 106 has a front or outwardly directed side 134 facing away fromthe user when worn, and an opposite rear or inwardly directed sidefacing towards the user when the glasses 100 are worn.

The frame 106 includes a pair of end pieces 121 defining lateral endportions of the frame 106. In this example, on-board electronics 124comprising a variety of electronics electronic components are housed inone or both of the end pieces 121, as discussed in more detail below. Insome embodiments, the frame 106 is formed of a single piece of material,so as to have a unitary or monolithic construction. In some embodiments,the whole of the body 103 (including both the frame 106 and the temples109) can be of the unitary or monolithic construction.

The temples 109 are coupled to the respective end pieces 121. In thisexample, the temples 109 are coupled to the frame 106 by respectivehinges so as to be hingedly movable between a wearable mode (as shown inFIG. 1) and a collapsed mode in which the temples 109 are pivotedtowards the frame 106 to lie substantially flat against it. The glasses100 in the collapsed mode presents one or more charging formations onits exterior for engagement with a charging device to allow charging ofan on-board battery forming part of the onboard electronics 124. Suchcharging devices can include charging cables connectable to an externalpower supply, and a carry case in which the glasses 100 can be dockedsuch as to be charged by a charging battery carried by the carry case.

The onboard electronics 124 including a computing device, such as acomputer, which can in different embodiments be of any suitable type soas to be carried by the body 103. In some embodiments, variouscomponents of the onboard electronics 124 are at least partially housedin one or both of the temples 109. The onboard electronics 124 includesone or more processors with memory, wireless communication circuitry,and a power source (this example embodiment being a rechargeablebattery, e.g. a lithium-ion battery). The onboard electronics 124comprises low-power, high-speed circuitry, and, in some embodiments, adisplay processor. Various embodiments may include these elements indifferent configurations or integrated together in different ways.

As mentioned, the onboard electronics 124 includes a rechargeablebattery. In some embodiments, the battery is disposed in one of thetemples 109. In this example embodiment, however, the battery is housedin one of the end pieces 121, being electrically coupled to theremainder of the onboard electronics 124.

The pair of glasses 100 is camera-enabled, in this example comprising acamera 130 mounted in one of the end pieces 121 and facing forwards soas to be aligned more or less with the direction of view of a wearer ofthe glasses 100. The camera 130 is configured to capture digitalphotographs as well as digital video content. Operation of the camera130 is controlled by a camera controller provided by the onboardelectronics 124, image data representative of images or video capturedby the camera 130 being temporarily stored on a memory forming part ofthe onboard electronics 124.

In some embodiments, the glasses 100 can have a pair of cameras 130,e.g. housed by the respective end pieces 121. In this embodiment,however, the glasses 100 has only the single camera 130 housed in theleft-sided end piece 121 (when viewed from the orientation of a userduring wearing thereof). An externally identical camera analog formation131 is, however, symmetrically provided on the right-hand side end piece121. As used herein, a camera analog or pseudo-camera formation means aformation on the eyewear frame that has the appearance of a camera lensopening and/or housing, but which does not in fact have a functionalcamera associated therewith. As will be described below, the camera 130and its associated lens opening 152 in this example embodiment has amode indicator 161 located in association therewith. In otherembodiments, however, the mode indicator 161 may be provided inassociation with the camera analog formation 131, with the actual camera130 having no co-located mode indicator. In one such embodiment, forexample, a solitary camera 130 is located in the left-sided end piece121, with a solitary mode indicator 161 being provided in the cameraanalog formation 131 of the right-sided end piece 121. A benefit of suchan arrangement is that there is substantially no possibility of adverseeffect of light emissions by the mode indicator during use onimage-capturing functionalities of the camera 130. In yet a furtherembodiment, each of the end pieces 121 has a respective camera 130 andan associated co-located mode indicator 161. In another embodiment, theglasses 100 may have two cameras integrated at opposite ends of theframe 106, with a single mode indicator 161 provided in association withonly one of the cameras 130.

Returning now to the example embodiment of FIG. 1, it will be understoodthat a lens of the camera 130 in conventional fashion faces forwards andis for protective purposes located behind a transparent covering. As canbe seen in FIG. 1, a camera housing formation defined by the frame 106and in which the camera is housed also houses the mode indicator 161, inthis example embodiment consisting of a ring of LEDs 207 (see also FIG.2A) extending circumferentially around the camera lens opening 152. Inthis example embodiment, the ring of LEDs 207 is located behind thetransparent camera cover. In other embodiments, the LED ring can belocated outside of the housing, on the exterior of the frame.

In this example embodiment, the LEDs 207 of the mode indicator 161 isthus hidden and substantially obscure when they are switched off, butbecome visible when powered to emit light. In the drawings, any LED 207indicated in broken lines are to be understood as being switched off;LEDs 207 are shown to be shining by being depicted in unbroken lines.Different example display modes of the mode indicator 161, correspondingto different respective modes of operation of the glasses 100 and/or thecamera 130, will be described later herein with reference to FIGS.2A-2C.

In addition to the externally visible mode indicator 161, the glasses100 in some embodiments further include one or more user-oriented modeindicator mechanisms to indicate occurrence of one or more operationalmodes to a wearer of the glasses 100. In one such embodiment, an LEDarrangement is mounted on the inner surface 137 of the frame 106 to beperipherally visible to the wearer when lit. Such an internal modeindicator may be continuously activated during video capture, and mayflash simultaneously with photo capture. In this manner, the wearer isapprised of video or photo capture. It will be appreciated that such auser-oriented mode indication mechanism is to be distinguished from theexternal mode indicator 161 in that the external mode indicator 161 issized and positioned specifically to alert persons other than the userof video and/or photo capture.

The glasses 100 further include one or more input and output mechanismspermitting communication with and control of the electronics 124. Inparticular, the glasses 100 include one or more input mechanisms forenabling user control of one or more functions of the camera 130. Inthis embodiment, a primary input mechanism comprises a button 173mounted on the frame 106 so as to be accessible on top of one of the endpieces 121 for pressing by the user. In addition to any other functionsthat may be controlled by operation of the button 173, the button 173 inthis example provides a camera trigger mechanism enabling the user toselectively trigger photo capture or video capture by the camera 130. Inthe current example embodiment, a photo capture command can be issued bya single, relatively short button press (e.g., shorter than a second),while a video capture command can be issued by a press-and-hold action.

For some functionalities of the LED ring mode indicator 161, controlinput from the user is not restricted to presses of the control button173. A secondary command channel is provided by a tap input mechanism319 (shown schematically in FIG. 3) that detects user commands in theform of a predefined sequence or pattern of taps applied by the user tothe frame 106 of the glasses 100. Detect such that inputs, the Mechanism319 includes a motion sensor 336 comprising a set of accelerometersincorporated in the eyewear frame 106. In this example embodiment, tapcommand channel provides a single user-selectable command by means of adouble-tap.

The glasses 100 may include a variety of additional sensors. Suchsensors can include inwardly-facing video sensors or digital imagingmodules such as cameras that can be mounted on or provided within theinner surface 137 of the frame 106 so as to be facing the user, inaddition to outwardly-facing video sensors or digital imaging modulessuch as the camera(s) 130 previously described. Such sensors, peripheraldevices or peripherals can additionally include biometric sensors,location sensors, or any other such sensors.

Turning now to the example visual mode indications of FIGS. 2A-2C, itwill be seen that the mode indicator 161 in this example embodimentserves to display a plurality of different visual indicationscorresponding to a plurality of different operational modes of thecamera 103 and/or the glasses 100. A first mode of indicator behavior inthis example embodiment is illustrated in FIG. 2A, for indicating activevideo recording. The indication displayed by the LED mode indicator 161in this instance comprises animated circular movement of activated LEDs207 around the LED ring 161 (in the direction of the rotational arrow),creating the visual impression of a “comet tail” countdown. Note thatthis animated display is designed and positioned on the glasses 100specifically to be highly visible, so as readily to indicate to personswithin the vicinity of the smart glasses 100 that video content is beingcaptured by the camera 103.

In some embodiments, the circulating video capture animation of FIG. 2Aindicates not only that video is being recorded, but additionallyindicates the time remaining for a predefined video clip length. In suchcase, for example, the animation may circulate once in a 10 secondrecording interval. In another embodiment, animated video captureindication may comprise a circulating countdown of illuminated LEDs 207.In one such embodiment, the full LED ring 161 is illuminated at theoutset of the predefined recording period (e.g., 10 seconds),progressively being counted down to expiry of the recording period. Inan alternative embodiment, the LED ring of the mode indicator 161charges up towards completion.

A second example mode of operation indicated by the LED ring modeindicator 161 is illustrated with reference to FIG. 2B. This mode is forphoto capture, and in this embodiment comprises a single flash orshort-interval activation of the full ring of LEDs 207. Thus, when theuser presses the button 173 to trigger photo capture, the mode indicator161 displays a single full ring flash substantially simultaneously withthe capturing of a photo by use of the eyewear device 100. Note that,distinct from flash lighting in conventional camera devices, theflashing of the mode indicator 161 is displayed regardless of ambientlight conditions. As previously, the prominent placement of the modeindicator, its readily perceptible association with camerafunctionalities of the glasses 100, and the relatively high visibilityof the photo capture indication, secretive photo capturing by a wearerof the glasses 100 is inhibited by operation of the mode indicator 161.

It is additionally to be noted that invariable display of both the videocapture indication of FIG. 2A and the photo capture indication of FIG.2B is systemically enforced and is non-optional, being unalterablyproduced by the mode indicator 161 at each instance of video capture orphoto capture. The glasses 100 in other words provide no user-accessibleoption for deactivating or otherwise altering the video capturenotification and/or the photo capture notification. Suchnon-customizability of mode indication serves to further trust by othersthat they are not being photographed or video-taped without theirknowledge, thereby increasing the likelihood of wide-spread acceptanceand the lessening of suspicion against wearers of camera-enabled eyeweardevices.

Note that, in this example embodiment, the luminescence of the LEDs 207is insufficient for the mode indicator 161 to serve the dual purpose ofillumination for flash photography. In other embodiments, however, theLEDs 207 may be configured to provide flash illumination in addition tothe mode indicator functionalities described herein. Such flashfunctionalities can be enhanced by providing a respective ring of LEDs207 at each lateral end of the eyewear frame 106.

FIG. 2C schematically illustrates a further display mode of theindicator 161, in which not only an operational mode, but also anattribute value associated with camera operation is indicated. In theexample of FIG. 2C, the operational mode indicated by the mode indicator161 is a battery charging mode, with the ring of LEDs 207 additionallyserving to indicate a current charging level of the onboard battery ofthe pair of glasses 100. As can be seen in FIG. 2C, battery charge levelis indicated by illuminating a portion of the LED corresponding to aportion of battery charge remaining. Illumination of the full ring ofLEDs 207 thus indicates a full charge, a half-lit display indicates 50%charge level, and so on. In some embodiments, a lesser proportion of theLED ring can be used to indicate a full charge.

In this example embodiment, battery charge level indication can betriggered by two different mechanisms, namely (1) by a charge checkingoperation, and (2) by charging of the onboard battery 391. As mentionedearlier, charge checking display can be triggered by means of a tapcommand channel that is responsive to user input via tapping of theeyewear frame 106 in one or more predefined sequences. In particular, arapid double tap to the glasses 100 (e.g., a pair of taps that is spacedby less than a predefined threshold interval) is detected by a tap inputmechanism 319 (FIG. 3) as indicating a charge level display command. Thecharge level display (as shown in FIG. 2C) can be selectively removed bythe user via application of a similar double-tap input. Double-tapinputs can thus be used to toggle charge level display. Instead, or inaddiction, the mode indicator 161 can in some embodiments revert to adormant mode after a predefined display period subsequent to triggeringof the charge level display via the tap input mechanism 319.

The second method of triggering charge level display comprises automaticdisplay of charge level indication by the mode indicator 161 when theglasses 100 are connected to an external charging device for charging ofits onboard battery 391 in FIG. 3). Thus, when a charging port 364 (seeFIG. 3) incorporated in the eyewear frame 106 is coupled to a chargingcable connected to an external power source, such as mains power, themode indicator automatically switches to charge level indication.Similarly, when the glasses 100 is docked in a complementary carry casewith native charging functionality, engagement of the charging port 364on the glasses 100 with a complementary docking formation in the caseautomatically causes display of the charge level indication by the modeindicator 161 of the glasses 100.

Turning now to FIG. 3, therein is shown a schematic diagram of aneyewear device 100 in the example form of the pair of smart glassesdescribed with reference to FIGS. 1-2, the diagram showing selectedcomponents involved with provision of the functionalities describedpreviously with reference to FIGS. 1 and 2, and further described belowwith reference to FIG. 4.

As shown in the diagram of FIG. 3, the eyewear device 100 includes acontroller 372 forming part of the onboard electronics 124 incorporatedin the frame 106 of the device (see, e.g., FIG. 1). The controller 372in this example forms part of an onboard computing device and comprisescircuitry configured to control automated operation of variouscomponents of the eyewear device, including the previously describedonboard camera 130, mode indicator 161, and onboard battery 391. In someembodiments, the circuitry of the controller 372 may be provided bypermanently configured circuitry (e.g., in the form of an applicationspecific integrated circuit). In other embodiments, the circuitry of thecontroller 372 may comprise dynamically reconfigurable circuitryprovided by a processor executing machine-readable instructions forperforming the various automated operations. Thus, during execution ofparticular instructions, the processor provides circuitry configured toperform corresponding operations.

The eyewear device 100 includes a button input mechanism 312 that isactivatable by pressing of the button 173 (FIG. 1). The button inputmechanism 312 is communicatively coupled to the controller 372 tocommunicate user commands received by button input mechanism 312, e.g.to trigger video capture or photo capture. The controller 372 is in turnconnected to the camera 130 to control camera operation responsive toreception of such commands.

The eyewear device 100 further includes a tap input mechanism 319 toreceive and interpret user commands communicated to the device by manualor physical taps imparted to the eyewear frame 106. To this end, the tapinput mechanism 319 includes an array of motion sensors 336 comprisingaccelerometers arranged to detect multidirectional acceleration of theeyewear frame 106 indicative of a user's tapping the frame 106.

The tap input mechanism 319 further includes a motion data processor 396configured to process motion data captured by the motion sensors 336 todistinguish, based on predefined identification criteria, between framemovement resulting from user taps and frame movement resulting fromincidental or non-semantic frame movement. Similarly to that describedpreviously with reference to the controller, the motion data processor396 comprises circuitry configured to perform these operations, thecircuitry in some embodiments being provided by a dynamicallyreconfigurable processor, and in other embodiments being provided bypermanently configured circuitry. Note that, in some embodiments, thefunctionalities of the motion data processor 396 can be incorporated inthe controller 372, in which case a motion data processor consistentwith this description is provided by the controller 372.

Identification criteria for recognizing tap commands in this embodimentprovides for identifying two successive tap motions experienced by theframe, determining an interval between the detected motions, andidentifying reception of a charge level display command only if theinterval between the taps is smaller than a predefined threshold period.One method of operation of the motion data processor 396 is describedbelow with reference to FIG. 4B. The tap input mechanism 319 isconductively coupled to the controller 372 to communicate reception ofuser inputs via the tap command channel.

As previously described, the eyewear device 100 further includes acharging port 364 that is electrically coupled to the onboard battery391. The charging port 364 is configured for coupling to an externalconnector to allow charging of the onboard battery 391 via an externalpower supply. The charging port 364 is communicatively coupled to thecontroller 372 to communicate to the controller 372 a connection statusof the charging port 364. The controller 372 is further communicativelycoupled to the onboard battery 391 to receive information on a chargingstatus and/or a charge level of the battery 391.

Finally, the controller 372 is in communication with the mode indicator161 to control display of different visual indications by the modeindicator 161 corresponding to the relevant current operational mode orstatus of the various components of the eyewear device 100.

FIG. 4 shows a flowchart 400 of an example method of operating theeyewear device 100 according to an example embodiment. In this exampleembodiment, the flowchart 400 illustrates operations performed by thecontroller 372 corresponding to the example embodiment of FIG. 3.

At operation 420, the controller 372 detects a current operational modeof the eyewear device 100. In some instances, the operational mode ofthe eyewear device 100 is triggered by user input or an external event.For example, an image-capture command may be received by the buttoninput mechanism 312, at operation 405. As described previously, such animage-capture command can be a video capture command communicated by apress-and-hold operation. Upon resultant initiation of video capture bythe camera 130, the controller 372 detects that the eyewear device 100is in a video capture mode. In other instances, the image-capturecommand can be a photo capture command communicated via a short press ofthe button 173. Responsive to reception of such a photo capture command,the detected operational mode is a photo capture mode.

User input can in some instances include reception of a user command viatap input, at operation 410, to display a charge level of the onboardbattery 391. In response to such a command, the eyewear device 100 isdisposed to a charge level display mode. Operational mode of the eyeweardevice 100 can also be determined by a connection status of the chargingport 364. For example, detection, at operation 415, of the establishmentof a charging connection via the charging port 364 disposes the eyeweardevice to a battery charging mode.

Note that the example events of FIG. 4 that trigger changes inoperational mode are non-exhaustive, and that many additionaloperational modes are contemplated for which corresponding visualindications are to be provided by the mode indicator 161. Examplesinclude, but are not limited, to device pairing mode, system crashes,system reset, and error modes.

Responsive to detection of the current operational mode of the eyeweardevice, at operation 420, the controller 372 causes display of acorresponding visual mode indication via the mode indicator 161. As willbe evident from the preceding description (e.g., the example modesdescribed with reference to FIGS. 2A-2C) each of a plurality ofpredefined operational modes of the device 100 and/or the camera 130 hasa corresponding unique visual indication pattern and/or animationperformable via the mode indicator 161. Detection of operational mode issubstantially continuous, so that a particular mode indication isdisplayed only during persistence of the corresponding operational mode.The relevant mode indication is thus displayed by the mode indicator 161only during operation of the eyewear device 100 in the correspondingoperational mode. For example, when a video capture event is completed,the animated circulation of illuminated LEDs 207 in the indicator 161(FIG. 2A) ceases and the indicator is returned to a dormant mode inwhich all of the LEDs 207 are off.

FIG. 4B shows a flowchart 440 of an example method of operation of thetap input mechanism 319 according to the example embodiment of FIGS.1-4A. At operation 447, motion of the frame 106 is continuouslymonitored by the motion sensors 336 incorporated in the frame. Motiondata captured by the motion sensors 336 is continuously analyzed by themotion data processor 396. Tap events experienced by the frame 106 aredetected, at operation 450, by the motion data processor 396 based onpredefined criteria and/or based on a signature tap profile to whichevents represented in the motion data are compared.

For each pair of detected tap events, an interval between the tap eventsis determined, at operation 455. At operation 460, the motion dataprocessor 396 establishes whether or not the interval between thesequential tap events is smaller than a predefined threshold period. Inthis example embodiment, the threshold period is one second. It will beappreciated that different threshold periods can be used in differentembodiments, although typical values are expected to be between 0.5 and1 s. Note that, in this example embodiment, there is no lower thresholdperiod below which a pair of tap events are disqualified or filteredfrom being recognized as representing a user double-tap. This is becausethe tap input channel provides only the double-tap command. There istherefore no danger of the user inadvertently inputting a double-tapcommand when instead intending to single tap. Moreover, a double-tapmotion to an end-piece 121 of the eyewear frame 106 (FIG. 1) is lesslikely to be inadvertently applied than is the case with, for example,an accidental double-click of a table-top mouse. Thus, when it isdetermined, at operation 460, that the interval is smaller than thepredefined threshold period, the pair of tap events reflected in themotion data is registered, at operation 465, as a toggle command forcharge level display via the mode indicator 161, responsive to which thecharge level display via the mode indicator 161 is doubled, as describedpreviously, at operation 470.

It is a benefit of the tap input command channel provided in parallelwith another untethered command channel (e.g., the button commandchannel in the described example embodiment) that it providesuser-friendly and intuitive user interface with an eyewear device. Inparticular, the secondary command channel using tap inputs provides foraugmentation or amplification of manually communicated user inputswithout interfering with or complicating user control of camerafunctions via the primary input channel provided by button presses. Inaddition, no additional external features or spatially expensivecomponents are necessary to provide the tap input channel.

Example Machine and Hardware Components

The example eyewear device described above may incorporate variouscomputer components or machine elements, at least some of which areconfigured for performing automated operations and/or for automaticallyproviding various functionalities. These include, for example, modeindication functionalities provided by the mode indicator 161, thecontroller 372, and/or the motion data processor of the example glasses100. As discussed previously, the glasses 100 may provide an independentcomputer system. Instead, or in addition, the glasses 100 may form partof a distributed system including on ore more off-board processorsand/or devices. It is to be understood that the description of examplehardware and software architecture and components applies to someembodiments of electronics-enabled eyewear devices in isolation, tooff-board components co-operating with such eyewear devices, or to suchan eyewear device and supporting off-board components in combination, asthe case may be.

FIG. 5 is a block diagram 900 illustrating an architecture of software902, which can be installed on any one or more of the devices describedabove. FIG. 5 is merely a non-limiting example of a softwarearchitecture, and it will be appreciated that many other architecturescan be implemented to facilitate the functionality described herein. Invarious embodiments, the software 902 is implemented by hardware such asmachine 1100 of FIG. 6 that includes processors 1110, memory 1130, andI/O components 1150. In this example architecture, the software 902 canbe conceptualized as a stack of layers where each layer may provide aparticular functionality. For example, the software 902 includes layerssuch as an operating system 904, libraries 906, frameworks 908, andapplications 910. Operationally, the applications 910 invoke applicationprogramming interface (API) calls 912 through the software stack andreceive messages 914 in response to the API calls 912, consistent withsome embodiments. In various embodiments, any client device (e.g. theexample eyewear device 100), server computer of a server system, or anyother device described or referenced herein may operate using elementsof software 902. Devices such as the controller 372 and the tap inputmechanism 319, as described earlier, may additionally be implementedusing aspects of software 902.

In various implementations, the operating system 904 manages hardwareresources and provides common services. The operating system 904includes, for example, a kernel 920, services 922, and drivers 924. Thekernel 920 acts as an abstraction layer between the hardware and theother software layers consistent with some embodiments. For example, thekernel 920 provides memory management, processor management (e.g.,scheduling), component management, networking, and security settings,among other functionality. The services 922 can provide other commonservices for the other software layers. The drivers 924 are responsiblefor controlling or interfacing with the underlying hardware, accordingto some embodiments. For instance, the drivers 924 can include displaydrivers, camera drivers, BLUETOOTH® or BLUETOOTH® Low Energy drivers,flash memory drivers, serial communication drivers (e.g., UniversalSerial Bus (USB) drivers), WI-FI® drivers, audio drivers, powermanagement drivers, and so forth. In certain implementations of a devicesuch as the display mechanism 104 of smart glasses 100, low-powercircuitry may operate using drivers 924 that only contain BLUETOOTH® LowEnergy drivers and basic logic for managing communications andcontrolling other devices, with other drivers operating with high-speedcircuitry.

In some embodiments, the libraries 906 provide a low-level commoninfrastructure utilized by the applications 910. The libraries 906 caninclude system libraries 930 (e.g., C standard library) that can providefunctions such as memory allocation functions, string manipulationfunctions, mathematic functions, and the like. In addition, thelibraries 906 can include API libraries 932 such as media libraries(e.g., libraries to support presentation and manipulation of variousmedia formats such as Moving Picture Experts Group-4 (MPEG4), AdvancedVideo Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3),Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec,Joint Photographic Experts Group (JPEG or JPG), or Portable NetworkGraphics (PNG)), graphics libraries (e.g., an OpenGL framework used torender in two dimensions (2D) and three dimensions (3D) in a graphiccontent on a display), database libraries (e.g., SQLite to providevarious relational database functions), web libraries (e.g., WebKit toprovide web browsing functionality), and the like. The libraries 906 canalso include a wide variety of other libraries 934 to provide many otherAPIs to the applications 910.

The frameworks 908 provide a high-level common infrastructure that canbe utilized by the applications 910, according to some embodiments. Forexample, the frameworks 908 provide various graphic user interface (GUI)functions, high-level resource management, high-level location services,and so forth. The frameworks 908 can provide a broad spectrum of otherAPIs that can be utilized by the applications 910, some of which may bespecific to a particular operating system or platform.

In an example embodiment, the applications 910 include a homeapplication 950, a contacts application 952, a browser application 954,a book reader application 956, a location application 958, a mediaapplication 960, a messaging application 962, a game application 964,and a broad assortment of other applications such as a third partyapplication 966. According to some embodiments, the applications 910 areprograms that execute functions defined in the programs. Variousprogramming languages can be employed to create one or more of theapplications 910, structured in a variety of manners, such asobject-oriented programming languages (e.g., Objective-C, Java, or C++)or procedural programming languages (e.g., C or assembly language). In aspecific example, the third party application 966 (e.g., an applicationdeveloped using the ANDROID™ or IOS™ software development kit (SDK) byan entity other than the vendor of the particular platform) may bemobile software running on a mobile operating system such as IOS™,ANDROID™, WINDOWS® Phone, or another mobile operating systems. In thisexample, the third party application 966 can invoke the API calls 912provided by the operating system 904 to facilitate functionalitydescribed herein.

Embodiments described herein may particularly interact with a displayapplication 967. Such an application 967 may interact with I/Ocomponents 1150 to establish various wireless connections with devicessuch as the controller 372 to control display of visual indications viathe mode indicator 161. Display application 967 may communicate with themode indicator 161 to automatically control display ofcomputer-generated information via display mechanism 104.

Certain embodiments are described herein as including logic or a numberof components, modules, elements, or mechanisms. Such modules canconstitute either software modules (e.g., code embodied on amachine-readable medium or in a transmission signal) or hardwaremodules. A “hardware module” is a tangible unit capable of performingcertain operations and can be configured or arranged in a certainphysical manner. In various example embodiments, one or more computersystems (e.g., a standalone computer system, a client computer system,or a server computer system) or one or more hardware modules of acomputer system (e.g., a processor or a group of processors) isconfigured by software (e.g., an application or application portion) asa hardware module that operates to perform certain operations asdescribed herein.

In some embodiments, a hardware module is implemented mechanically,electronically, or any suitable combination thereof. For example, ahardware module can include dedicated circuitry or logic that ispermanently configured to perform certain operations. For example, ahardware module can be a special-purpose processor, such as aField-Programmable Gate Array (FPGA) or an Application SpecificIntegrated Circuit (ASIC). A hardware module may also includeprogrammable logic or circuitry that is temporarily configured bysoftware to perform certain operations. For example, a hardware modulecan include software encompassed within a general-purpose processor orother programmable processor. It will be appreciated that the decisionto implement a hardware module mechanically, in dedicated andpermanently configured circuitry, or in temporarily configured circuitry(e.g, configured by software) can be driven by cost and timeconsiderations.

Accordingly, the phrase “hardware module,” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein,“hardware-implemented module” refers to a hardware module. Theseconsiderations, and those that follow, applies equally to hardwaremodules and to electronic or logic processing and/or control components,controllers, engines, information processing mechanisms, and the like.

Considering embodiments in which hardware modules are temporarilyconfigured (e.g., programmed), each of the hardware modules need not beconfigured or instantiated at any one instance in time. For example,where a hardware module comprises a general-purpose processor configuredby software to become a special-purpose processor, the general-purposeprocessor may be configured as respectively different special-purposeprocessors (e.g., comprising different hardware modules) at differenttimes. Software can accordingly configure a particular processor orprocessors, for example, to constitute a particular hardware module atone instance of time and to constitute a different hardware module at adifferent instance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules can be regarded as being communicatively coupled. Where multiplehardware modules exist contemporaneously, communications can be achievedthrough signal transmission (e.g., over appropriate circuits and buses)between or among two or more of the hardware modules. In embodiments inwhich multiple hardware modules are configured or instantiated atdifferent times, communications between such hardware modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware modules have access.For example, one hardware module performs an operation and stores theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module can then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules can also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein can beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors constitute processor-implemented modulesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented module” refers to ahardware module implemented using one or more processors.

Similarly, the methods described herein can be at least partiallyprocessor-implemented, with a particular processor or processors beingan example of hardware. For example, at least some of the operations ofa method can be performed by one or more processors orprocessor-implemented modules. Moreover, the one or more processors mayalso operate to support performance of the relevant operations in a“cloud computing” environment or as a “software as a service” (SaaS).For example, at least some of the operations may be performed by a groupof computers (as examples of machines including processors), with theseoperations being accessible via a network (e.g., the Internet) and viaone or more appropriate interfaces (e.g., an Application ProgramInterface (API)). In certain embodiments, for example, a client devicemay relay or operate in communication with cloud computing systems, andmay store media content such as images or videos generated by devicesdescribed herein in a cloud environment.

The performance of certain of the operations may be distributed amongthe processors, not only residing within a single machine, but deployedacross a number of machines. In some example embodiments, the processorsor processor-implemented modules are located in a single geographiclocation (e.g., within a home environment, an office environment, or aserver farm). In other example embodiments, the processors orprocessor-implemented modules are distributed across a number ofgeographic locations.

FIG. 6 is a block diagram illustrating components of a machine 1100,according to some embodiments, able to read instructions from amachine-readable medium (e.g., a machine-readable storage medium) andperform any one or more of the methodologies discussed herein.Specifically, FIG. 6 shows a diagrammatic representation of the machine1100 in the example form of a computer system, within which instructions1116 (e.g., software, a program, an application, an applet, an app, orother executable code) for causing the machine 1100 to perform any oneor more of the methodologies discussed herein can be executed. Inalternative embodiments, the machine 1100 operates as a standalonedevice or can be coupled (e.g., networked) to other machines. In anetworked deployment, the machine 1100 may operate in the capacity of aserver machine or a client machine in a server-client networkenvironment, or as a peer machine in a peer-to-peer (or distributed)network environment. The machine 1100 can comprise, but not be limitedto, a server computer, a client computer, a personal computer (PC), atablet computer, a laptop computer, a netbook, a set-top box (STB), apersonal digital assistant (PDA), an entertainment media system, acellular telephone, a smart phone, a mobile device, a wearable device(e.g., a smart watch), a smart home device (e.g., a smart appliance),other smart devices, a web appliance, a network router, a networkswitch, a network bridge, or any machine capable of executing theinstructions 1116, sequentially or otherwise, that specify actions to betaken by the machine 1100. Further, while only a single machine 1100 isillustrated, the term “machine” shall also be taken to include acollection of machines 1100 that individually or jointly execute theinstructions 1116 to perform any one or more of the methodologiesdiscussed herein.

In various embodiments, the machine 1100 comprises processors 1110,memory 1130, and I/O components 1150, which can be configured tocommunicate with each other via a bus 1102. In an example embodiment,the processors 1110 (e.g., a Central Processing Unit (CPU), a ReducedInstruction Set Computing (RISC) processor, a Complex Instruction SetComputing (CISC) processor, a Graphics Processing Unit (GPU), a DigitalSignal Processor (DSP), an Application Specific Integrated Circuit(ASIC), a Radio-Frequency Integrated Circuit (RFIC), another processor,or any suitable combination thereof) include, for example, a processor1112 and a processor 1114 that may execute the instructions 1116. Theterm “processor” is intended to include multi-core processors that maycomprise two or more independent processors (also referred to as“cores”) that can execute instructions contemporaneously. Although FIG.6 shows multiple processors 1110, the machine 1100 may include a singleprocessor with a single core, a single processor with multiple cores(e.g., a multi-core processor), multiple processors with a single core,multiple processors with multiples cores, or any combination thereof.

The memory 1130 comprises a main memory 1132, a static memory 1134, anda storage unit 1136 accessible to the processors 1110 via the bus 1102,according to some embodiments. The storage unit 1136 can include amachine-readable medium 1138 on which are stored the instructions 1116embodying any one or more of the methodologies or functions describedherein. The instructions 1116 can also reside, completely or at leastpartially, within the main memory 1132, within the static memory 1134,within at least one of the processors 1110 (e.g., within the processor'scache memory), or any suitable combination thereof, during executionthereof by the machine 1100. Accordingly, in various embodiments, themain memory 1132, the static memory 1134, and the processors 1110 areconsidered machine-readable media 1138.

As used herein, the term “memory” refers to a machine-readable medium1138 able to store data temporarily or permanently and may be taken toinclude, but not be limited to, random-access memory (RAM), read-onlymemory (ROM), buffer memory, flash memory, and cache memory. While themachine-readable medium 1138 is shown in an example embodiment to be asingle medium, the term “machine-readable medium” should be taken toinclude a single medium or multiple media (e.g., a centralized ordistributed database, or associated caches and servers) able to storethe instructions 1116. The term “machine-readable medium” shall also betaken to include any medium, or combination of multiple media, that iscapable of storing instructions (e.g., instructions 1116) for executionby a machine (e.g., machine 1100), such that the instructions, whenexecuted by one or more processors of the machine 1100 (e.g., processors1110), cause the machine 1100 to perform any one or more of themethodologies described herein. Accordingly, a “machine-readable medium”refers to a single storage apparatus or device, as well as “cloud-based”storage systems or storage networks that include multiple storageapparatus or devices. The term “machine-readable medium” shallaccordingly be taken to include, but not be limited to, one or more datarepositories in the form of a solid-state memory (e.g., flash memory),an optical medium, a magnetic medium, other non-volatile memory (e.g.,Erasable Programmable Read-Only Memory (EPROM)), or any suitablecombination thereof. The term “machine-readable medium” specificallyexcludes non-statutory signals per se.

The I/O components 1150 include a wide variety of components to receiveinput, provide output, produce output, transmit information, exchangeinformation, capture measurements, and so on. In general, it will beappreciated that the I/O components 1150 can include many othercomponents that are not shown in FIG. 6. The I/O components 1150 aregrouped according to functionality merely for simplifying the followingdiscussion, and the grouping is in no way limiting. In various exampleembodiments, the I/O components 1150 include output components 1152 andinput components 1154. The output components 1152 include visualcomponents (e.g., a display such as a plasma display panel (PDP), alight emitting diode (LED) display, a liquid crystal display (LCD), aprojector, or a cathode ray tube (CRT)), acoustic components (e.g.,speakers), haptic components (e.g., a vibratory motor), other signalgenerators, and so forth. The input components 1154 include alphanumericinput components (e.g., a keyboard, a touch screen configured to receivealphanumeric input, a photo-optical keyboard, or other alphanumericinput components), point-based input components (e.g., a mouse, atouchpad, a trackball, a joystick, a motion sensor, or other pointinginstruments), tactile input components (e.g., a physical button, a touchscreen that provides location and force of touches or touch gestures, orother tactile input components), audio input components (e.g., amicrophone), and the like.

In some further example embodiments, the I/O components 1150 includebiometric components 1156, motion components 1158, environmentalcomponents 1160, or position components 1162, among a wide array ofother components. For example, the biometric components 1156 includecomponents to detect expressions (e.g., hand expressions, facialexpressions, vocal expressions, body gestures, or eye tracking), measurebiosignals (e.g., blood pressure, heart rate, body temperature,perspiration, or brain waves), identify a person (e.g., voiceidentification, retinal identification, facial identification,fingerprint identification, or electroencephalogram basedidentification), and the like. The motion components 1158 includeacceleration sensor components (e.g., accelerometer), gravitation sensorcomponents, rotation sensor components (e.g., gyroscope), and so forth.The environmental components 1160 include, for example, illuminationsensor components (e.g., photometer), temperature sensor components(e.g., one or more thermometers that detect ambient temperature),humidity sensor components, pressure sensor components (e.g.,barometer), acoustic sensor components (e.g., one or more microphonesthat detect background noise), proximity sensor components (e.g.,infrared sensors that detect nearby objects), gas sensor components(e.g., machine olfaction detection sensors, gas detection sensors todetect concentrations of hazardous gases for safety or to measurepollutants in the atmosphere), or other components that may provideindications, measurements, or signals corresponding to a surroundingphysical environment. The position components 1162 include locationsensor components (e.g., a Global Positioning System (GPS) receivercomponent), altitude sensor components (e.g., altimeters or barometersthat detect air pressure from which altitude may be derived),orientation sensor components (e.g., magnetometers), and the like.

Communication can be implemented using a wide variety of technologies.The I/O components 1150 may include communication components 1164operable to couple the machine 1100 to a network 1180 or devices 1170via a coupling 1182 and a coupling 1172, respectively. For example, thecommunication components 1164 include a network interface component oranother suitable device to interface with the network 1180. In furtherexamples, communication components 1164 include wired communicationcomponents, wireless communication components, cellular communicationcomponents, Near Field Communication (NFC) components, BLUETOOTH®components (e.g., BLUETOOTH® Low Energy), WI-FI® components, and othercommunication components to provide communication via other modalities.The devices 1170 may be another machine or any of a wide variety ofperipheral devices (e.g., a peripheral device coupled via a UniversalSerial Bus (USB)).

Moreover, in some embodiments, the communication components 1164 detectidentifiers or include components operable to detect identifiers. Forexample, the communication components 1164 include Radio FrequencyIdentification (RFID) tag reader components, NFC smart tag detectioncomponents, optical reader components (e.g., an optical sensor to detecta one-dimensional bar codes such as a Universal Product Code (UPC) barcode, multi-dimensional bar codes such as a Quick Response (QR) code,Aztec Code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code,Uniform Commercial Code Reduced Space Symbology (UCC RSS)-2D bar codes,and other optical codes), acoustic detection components (e.g.,microphones to identify tagged audio signals), or any suitablecombination thereof. In addition, a variety of information can bederived via the communication components 1164, such as location viaInternet Protocol (IP) geo-location, location via WI-FI® signaltriangulation, location via detecting an BLUETOOTH® or NFC beacon signalthat may indicate a particular location, and so forth.

Transmission Medium

In various example embodiments, one or more portions of the network 1180can be an ad hoc network, an intranet, an extranet, a virtual privatenetwork (VPN), a local area network (LAN), a wireless LAN (WLAN), a widearea network (WAN), a wireless WAN (WWAN), a metropolitan area network(MAN), the Internet, a portion of the Internet, a portion of the PublicSwitched Telephone Network (PSTN), a plain old telephone service (POTS)network, a cellular telephone network, a wireless network, a WI-FI®network, another type of network, or a combination of two or more suchnetworks. For example, the network 1180 or a portion of the network 1180may include a wireless or cellular network, and the coupling 1182 may bea Code Division Multiple Access (CDMA) connection, a Global System forMobile communications (GSM) connection, or another type of cellular orwireless coupling. In this example, the coupling 1182 can implement anyof a variety of types of data transfer technology, such as SingleCarrier Radio Transmission Technology (1×RTT), Evolution-Data Optimized(EVDO) technology, General Packet Radio Service (GPRS) technology,Enhanced Data rates for GSM Evolution (EDGE) technology, thirdGeneration Partnership Project (3GPP) including 3G, fourth generationwireless (4G) networks, Universal Mobile Telecommunications System(UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability forMicrowave Access (WiMAX), Long Term Evolution (LTE) standard, othersdefined by various standard-setting organizations, other long rangeprotocols, or other data transfer technology.

In example embodiments, the instructions 1116 are transmitted orreceived over the network 1180 using a transmission medium via a networkinterface device (e.g., a network interface component included in thecommunication components 1164) and utilizing any one of a number ofwell-known transfer protocols (e.g., Hypertext Transfer Protocol(HTTP)). Similarly, in other example embodiments, the instructions 1116are transmitted or received using a transmission medium via the coupling1172 (e.g., a peer-to-peer coupling) to the devices 1170. The term“transmission medium” shall be taken to include any intangible mediumthat is capable of storing, encoding, or carrying the instructions 1116for execution by the machine 1100, and includes digital or analogcommunications signals or other intangible media to facilitatecommunication of such software.

Furthermore, the machine-readable medium 1138 is non-transitory (inother words, not having any transitory signals) in that it does notembody a propagating signal. However, labeling the machine-readablemedium 1138 “non-transitory” should not be construed to mean that themedium is incapable of movement, the medium 1138 should be considered asbeing transportable from one physical location to another. Additionally,since the machine-readable medium 1138 is tangible, the medium 1138 maybe considered to be a machine-readable device.

1. (canceled)
 2. An eyewear device comprising: a device body configuredfor wearing by a user; on-board electronics incorporated in the devicebody; and a tap input mechanism that provides user-access to one or moretap commands receivable via the tap input mechanism, the tap inputmechanism comprising: a motion sensor that is incorporated in the devicebody and that is configured to sense motion of the device body, and togenerate therefrom motion data; and one or more processor devicesconfigured to process the motion data to identify therefrom a tapcommand communicated from the user to the eyewear device by impartingtap motion to the device body, the one or more processor devices beingconfigured to distinguish, based on predefined identification criteria,between respective instances of the one or more tap commands andincidental motion reflected in the motion data, wherein theidentification criteria define a tap sequence that indicates receipt ofa double-tap command included in the one or more tap commands, the oneor more processor devices being configured to identify an instance ofthe double-tap command by operations comprising: identifying twosequential tap events reflected in the motion data; determining aninterval between the two sequential tap events; and registering the twosequential tap events as receipt of the double-tap command in responseto and conditional upon the interval being smaller than a predefinedthreshold.
 3. The eyewear device of claim 2, wherein the one or moreprocessor devices are further configured to identify tap events in themotion data based on a predefined signature profile to which events inthe motion data are compared.
 4. The eyewear device of claim 2, whereinthe one or more tap commands receivable via the tap input mechanism doesnot include any command triggerable by receipt of a single tap event. 5.The eyewear device of claim 4, wherein the identification criteria doesnot include a lower threshold that excludes from identification as aninstance of the double-tap command two sequential tap events separatedby an interval smaller than the lower threshold.
 6. The eyewear deviceof claim 2, wherein the one or more tap commands receivable via the tapinput mechanism is limited exclusively to the double-tap command.
 7. Theeyewear device of claim 6, wherein the double-tap command is a togglecommand that serves to switch a specific device function between twodifferent modes.
 8. The eyewear device of claim 7, wherein the togglecommand serves to toggle a visual charge level indicator incorporated inthe eyewear device between an on mode and an off mode.
 9. The eyeweardevice of claim 2, wherein the one or more tap commands comprise aplurality of tap commands, each of which is associated with a differentrespective tap sequence defined by the identification criteria.
 10. Theeyewear device of claim 9, wherein the one or more tap commands includea triple-tap command indicated by three successive tap events reflectedin the motion data, the double-tap command and the triple tap commandserving to control different respective functions of the eyewear device.11. The eyewear device of claim 2, wherein the predefined threshold is0.5-1 s in duration.
 12. The eyewear device of claim 2, wherein thepredefined threshold is about 1 s in duration.
 13. The eyewear device ofclaim 2, wherein the double-tap command triggers display of a chargelevel indication by a visual indicator incorporated the device body, thecharge level indication showing a level of charge of an onboard batteryof the eyewear device.
 14. The eyewear device of claim 13, wherein thevisual indicator comprises a series of light emitters mounted on anexterior surface of the device body.
 15. The eyewear device of claim 13,wherein the eyewear device comprises, in addition to a tap commandchannel provided by the tap input mechanism, a primary input mechanismincorporated in the device body and configured to provide a primarycommand channel to receive user input for controlling one or morefunctionalities of the on-board electronics during untethered wear ofthe eyewear device.
 16. The eyewear device of claim 15, wherein theprimary input mechanism is provided by a press-button mechanismcomprising a button mounted on the device body for manual useroperation.
 17. A method comprising: during wear of an eyewear device bya user, receiving user input via a tap input mechanism that providesuser access to one or more tap commands, the tap input mechanismcomprising a motion sensing array that is incorporated in a device bodyand that is configured to generate motion data from detected motion ofthe device body; using processing circuitry incorporated in the eyeweardevice, processing the motion data to distinguish, based on predefinedidentification criteria, between respective instances of the one or moretap commands and incidental motion reflected in the motion data, whereinthe identification criteria define a tap sequence that indicates receiptof a double-tap command included in the one or more tap commands, theprocessing being performed by operations comprising: identifying twosequential tap events reflected in the motion data; determining aninterval between the two sequential tap events; and registering the twosequential tap events as an instance of the double-tap command inresponse to and conditional upon the interval being smaller than apredefined threshold indicated by the identification criteria; and inresponse to registering the double-tap command, using on-boardelectronics incorporated in the device body, executing a device functionassociated with the double-tap command.
 18. The method of claim 17,wherein the identifying of the two sequential tap events is based on apredefined signature profile to which events in the motion data arecompared.
 19. The method of claim 17, wherein the one or more tapcommands receivable via the tap input mechanism is limited exclusivelyto the double-tap command.
 20. The method of claim 17, wherein thedouble-tap command is a toggle command that serves to switch a specificdevice function between two different modes.